iT邦幫忙

2023 iThome 鐵人賽

DAY 13
1
Odoo

Odoo開發系列 第 13

[Day 13] odoo14 - menu及action介紹

  • 分享至 

  • xImage
  •  

今天要來講解的是menu以及action的部分,首先先來講解action的部分。
先上action的範例:

<odoo>
    <data>
        <record id="action_idx_repair" model="ir.actions.act_window">
            <field name="name">維修單</field>
            <field name="res_model">idx.repair</field>
            <field name="view_mode">tree,kanban,form,pivot,graph</field>
        </record>
    </data>
</odoo>

action是用來定義使用者在按下button,應該要打開form view或是列印報表等工作流程,因此也是非常重要的一環,務必記得定義。
下面介紹action的設定:

  • id:定義action的id,不重複即可。
  • name:跳轉頁面時顯示的名稱。
  • res_model:該action所屬的model。
  • view_mode:用來定義該action擁有哪些種類的視圖。
  • domain:透過action來過濾資料集。
  • context:可藉由action來設定需要傳遞的參數。

接下來是menu的範例:

<odoo>
    <data>
        <menuitem name="維修管理系統" id="idx_repair_root"/>
            <menuitem name="維修單" id="idx_repair"
                      parent="idx_repair_root" action="action_idx_repair"/>
    </data>
</odoo>

menu的相關設定:

  • id:定義menu的id,不重複即可。
  • name:用來設定menu在畫面上顯示的名稱。
  • sequence:設定menu的順序。
  • parent_id:設定該menu的上級menu,可用來建立多層級的menu。
  • action:指定使用者點擊menu時,會觸發什麼樣的操作,以上面定義的action id來做設定。
  • groups_id:用來設置該menu只能讓有權限的人員看到。

依照範例設定好menu及action後,顯示的畫面如下
https://ithelp.ithome.com.tw/upload/images/20230928/20163263meQ40SYwiY.png

如果客製的模組規模較大,習慣上會將action跟menu跟view的檔案都分開管理,方便人員查找(如下圖)。
https://ithelp.ithome.com.tw/upload/images/20230928/20163263PnpV3fTp1g.png
所以在建立完menu或action的檔案後,記得要在__menifest__.py的data中加上檔案的路徑,才能在畫面上看到相對應的設置。

以上,對於menu及action的講解就先到這邊。


上一篇
[Day 12] odoo14 - 建立report(二)
下一篇
[Day 14]odoo14 - 客製模組流程介紹
系列文
Odoo開發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言